The only mode
flymake currently knows about is compile.
Flymake can be configured to not start syntax check if it
thinks the compilation is in progress. The check is made by the
flymake-compilation-is-running, which tests the
compilation-in-progress variable. The reason why
this might be useful is saving CPU time in case both syntax check
and compilation are very CPU intensive. The original reason for
adding this feature, though, was working around a locking problem
with MS Visual C++ compiler.
Flymake also provides an alternative command for starting
compilation, flymake-compile:
(defun flymake-compile ()
"Kill all flymake syntax checks then start compilation."
(interactive)
(flymake-stop-all-syntax-checks)
(call-interactively 'compile))
It just kills all the active syntax check processes before
calling compile.